package com.ssy.lingxi.search.service;

import com.ssy.lingxi.common.constant.tree.Node;
import com.ssy.lingxi.search.api.model.response.AttributeResponse;
import com.ssy.lingxi.search.api.model.response.BrandResponse;
import com.ssy.lingxi.search.api.model.response.CategoryTreeBrandResponse;
import com.ssy.lingxi.search.api.model.response.ProvinceResponse;

import java.util.List;

/**
 * 店铺搜索管理类
 * @author jw.chen
 * @version 2.0.0
 * @date 2020/7/28
 */
public interface IStoreService {

    /**
     * 查询商品品类树
     * @param storeId 店铺id
     * @return
     */
    List<Node> getCategoryTree(Long shopId, Long storeId);

    /**
     * 查询商品品类树和对应的品牌
     * @param storeId 店铺id
     * @return
     */
    List<CategoryTreeBrandResponse> getCategoryTreeAndBrand(Long shopId, Long storeId);

    /**
     * 查询属性
     * @param storeId
     * @param categoryId
     * @return
     */
    List<AttributeResponse> getAttributeByCategoryId(Long shopId, Long storeId, Long categoryId);

    /**
     * 查询商品品牌
     * @return
     */
    List<BrandResponse> getBrand(Long shopId, Long storeId);

    /**
     * 查询归属地市
     * @param storeId
     * @return
     */
    List<ProvinceResponse> getArea(Long shopId, Long storeId);

}
